home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / ab20_archive / utilities / printer / pf_deskjet.lzh / PF / Source / aw.h next >
Text File  |  1991-09-27  |  5KB  |  164 lines

  1. /*---------------------------------------------------------*
  2.  | Author:  Maurizio Loreti, aka MLO or I3NOO.             |
  3.  | Address: University of Padova - Department of Physics   |
  4.  |          Via F. Marzolo, 8 - 35131 PADOVA - Italy       |
  5.  | Phone:   (39)(49) 844-313         FAX: (39)(49) 844-245 |
  6.  | E-Mail:  LORETI at IPDINFN (BITNET); or VAXFPD::LORETI  |
  7.  |         (DECnet) - VAXFPD is node 38.257 i.e. 39169; or |
  8.  |          LORETI@PADOVA.INFN.IT (INTERNET).              |
  9.  | Home: Via G. Donizetti 6 - 35010 CADONEGHE (PD) - Italy |
  10.  *---------------------------------------------------------*/
  11.  
  12. /*---------------------------------------------------*
  13.  | Constants for "ask window" dimensions and gadgets |
  14.  *---------------------------------------------------*/
  15.  
  16. /**
  17.  | Special return values
  18. **/
  19.  
  20. #define CANCEL          0
  21. #define QUIT            -1
  22.  
  23. /**
  24.  | Window constants
  25. **/
  26.  
  27. #define AW_LEFT         0
  28. #define AW_TOP          0
  29. #define AW_HEIGHT       85
  30. #define AW_WIDTH        300
  31. #define AW_IDCMP        GADGETUP
  32. #define AW_FLAGS1       WINDOWDEPTH | WINDOWDRAG
  33. #define AW_FLAGS2       SMART_REFRESH | NOCAREREFRESH | ACTIVATE
  34. #define AW_FLAGS        (AW_FLAGS1 | AW_FLAGS2)
  35. #define AW_TLEN         32
  36.  
  37. /**
  38.  | Gadget constants
  39. **/
  40.  
  41. #define AW_YTITLE       25
  42. #define AW_YCYCLE       50
  43. #define AW_YCGAD        40
  44. #define AW_XFORWARD     10
  45. #define AW_XBACKWARD    266
  46. #define AW_YNGAD        65
  47. #define AW_XOK          27
  48. #define AW_XQUIT        118
  49. #define AW_XCAN         209
  50. #define AW_WCGAD        24
  51. #define AW_HCGAD        13
  52. #define AW_WNGAD        64
  53. #define AW_HNGAD        12
  54. #define AW_NFLAGS       GADGHCOMP
  55. #define AW_NACT         GADGIMMEDIATE | RELVERIFY
  56. #define AW_CANCEL       1
  57. #define AW_QUIT         2
  58. #define AW_OK           3
  59. #define AW_FORWARD      4
  60. #define AW_BACKWARD     5
  61.  
  62. /**
  63.  | Gadget and window global variables
  64. **/
  65.  
  66.   static USHORT __chip backGdata[] = {
  67.     0xFFFF, 0xFF00, 0x8000, 0x0100, 0x83FF, 0xC100,
  68.     0x8600, 0x6100, 0x8C00, 0x3100, 0xBF00, 0x3100,
  69.     0x9E00, 0x3100, 0x8C00, 0x3100, 0x8000, 0x3100,
  70.     0x8600, 0x6100, 0x83FF, 0xC100, 0x8000, 0x0100,
  71.     0xFFFF, 0xFF00
  72.   };
  73.  
  74.   static USHORT __chip forwGdata[] = {
  75.     0xFFFF, 0xFF00, 0x8000, 0x0100, 0x83FF, 0xC100,
  76.     0x8600, 0x6100, 0x8C00, 0x3100, 0x8C00, 0xFD00,
  77.     0x8C00, 0x7900, 0x8C00, 0x3100, 0x8C00, 0x0100,
  78.     0x8600, 0x6100, 0x83FF, 0xC100, 0x8000, 0x0100,
  79.     0xFFFF, 0xFF00
  80.   };
  81.  
  82.   static struct Image backGimage = {
  83.     0, 0, AW_WCGAD, AW_HCGAD, 1,
  84.     (USHORT *) backGdata, 0x01, 0x00, NULL
  85.   };
  86.  
  87.   static struct Image forwGimage = {
  88.     0, 0, AW_WCGAD, AW_HCGAD, 1,
  89.     (USHORT *) forwGdata, 0x01, 0x00, NULL
  90.   };
  91.  
  92.   static struct Gadget backGadget = {
  93.     NULL, AW_XBACKWARD, AW_YCGAD, AW_WCGAD, AW_HCGAD,
  94.     GADGHCOMP | GADGIMAGE,
  95.     RELVERIFY,
  96.     BOOLGADGET,
  97.     (APTR) &backGimage, NULL,
  98.     NULL, NULL, NULL, AW_BACKWARD, NULL
  99.   };
  100.  
  101.   static struct Gadget forwGadget = {
  102.     &backGadget, AW_XFORWARD, AW_YCGAD, AW_WCGAD, AW_HCGAD,
  103.     GADGHCOMP | GADGIMAGE,
  104.     RELVERIFY,
  105.     BOOLGADGET,
  106.     (APTR) &forwGimage, NULL,
  107.     NULL, NULL, NULL, AW_FORWARD, NULL
  108.   };
  109.  
  110.   static SHORT NGbdata[] = {
  111.     0, 0,
  112.     AW_WNGAD-1, 0,
  113.     AW_WNGAD-1, AW_HNGAD-1,
  114.     0, AW_HNGAD-1,
  115.     0, 0
  116.   };
  117.  
  118.   static struct Border NGborder = {
  119.     0, 0, RED_PEN, BLACK_PEN, JAM1, 5, NGbdata, NULL
  120.   };
  121.  
  122.   static struct IntuiText canText = {
  123.     WHITE_PEN, BLACK_PEN, JAM2, 8, 2, NULL,
  124.     (UBYTE *) "CANCEL", NULL
  125.   };
  126.  
  127.   static struct IntuiText quitText = {
  128.     WHITE_PEN, BLACK_PEN, JAM2, 8, 2, NULL,
  129.     (UBYTE *) " QUIT ", NULL
  130.   };
  131.  
  132.   static struct IntuiText okText = {
  133.     WHITE_PEN, BLACK_PEN, JAM2, 8, 2, NULL,
  134.     (UBYTE *) "  OK  ", NULL
  135.   };
  136.  
  137.   static struct Gadget askGad[] = {
  138.     { &askGad[1],
  139.       AW_XCAN, AW_YNGAD, AW_WNGAD, AW_HNGAD,
  140.       AW_NFLAGS, AW_NACT, BOOLGADGET, (APTR) &NGborder,
  141.       NULL, &canText, 0, NULL, AW_CANCEL, NULL },
  142.     { &askGad[2],
  143.       AW_XQUIT, AW_YNGAD, AW_WNGAD, AW_HNGAD,
  144.       AW_NFLAGS, AW_NACT, BOOLGADGET, (APTR) &NGborder,
  145.       NULL, &quitText, 0, NULL, AW_QUIT, NULL },
  146.     { &forwGadget,
  147.       AW_XOK, AW_YNGAD, AW_WNGAD, AW_HNGAD,
  148.       AW_NFLAGS, AW_NACT, BOOLGADGET, (APTR) &NGborder,
  149.       NULL, &okText, 0, NULL, AW_OK, NULL },
  150.   };
  151.  
  152.   static char title[AW_TLEN] = "";
  153.  
  154.   static struct NewWindow NWind = {
  155.     AW_LEFT, AW_TOP, AW_WIDTH, AW_HEIGHT,
  156.     BLUE_PEN, WHITE_PEN, AW_IDCMP, AW_FLAGS,
  157.     askGad, NULL, (UBYTE *) title,
  158.     NULL, NULL,
  159.     AW_WIDTH, AW_HEIGHT, AW_WIDTH, AW_HEIGHT,
  160.     WBENCHSCREEN
  161.   };
  162.  
  163.   static int realWidth, realHeight;
  164.